package com.glsc.ngateway.common.base.domain.mysql.opmanage.report.subscribe;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;

import javax.persistence.*;

/**
 * @author: qiyr
 * @date: 2022/6/2 10:29
 * @description: 报表可配置参数实体类
 */
@Entity
@Table(name = "t_report_param_config")
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
@IdClass(ReportParamConfigId.class)
public class ReportParamConfig {
    @Id
    @Column(name = "report_id")
    private String reportId;

    @Id
    @Column(name = "param_key")
    private String paramKey;

    @Column(name = "param_value")
    private String paramValue;

    @Column(name = "param_type")
    private String paramType;

    @Column(name = "component_type")
    private String componentType;

    @Column(name = "component_property")
    private String componentProperty;

    @Column(name = "date_flag")
    private String dateFlag;

    public ReportParamConfig() {
    }

    public ReportParamConfig(String reportId, String paramKey, String paramValue, String paramType,
                             String componentType, String componentProperty, String dateFlag) {
        this.reportId = reportId;
        this.paramKey = paramKey;
        this.paramValue = paramValue;
        this.paramType = paramType;
        this.componentType = componentType;
        this.componentProperty = componentProperty;
        this.dateFlag = dateFlag;
    }

    public String getReportId() {
        return reportId;
    }

    public void setReportId(String reportId) {
        this.reportId = reportId;
    }

    public String getParamKey() {
        return paramKey;
    }

    public void setParamKey(String paramKey) {
        this.paramKey = paramKey;
    }

    public String getParamValue() {
        return paramValue;
    }

    public void setParamValue(String paramValue) {
        this.paramValue = paramValue;
    }

    public String getParamType() {
        return paramType;
    }

    public void setParamType(String paramType) {
        this.paramType = paramType;
    }

    public String getComponentType() {
        return componentType;
    }

    public void setComponentType(String componentType) {
        this.componentType = componentType;
    }

    public String getComponentProperty() {
        return componentProperty;
    }

    public void setComponentProperty(String componentProperty) {
        this.componentProperty = componentProperty;
    }

    public String getDateFlag() {
        return dateFlag;
    }

    public void setDateFlag(String dateFlag) {
        this.dateFlag = dateFlag;
    }
}
